1. Field of the Invention
The present invention relates to a server based on a virtualization technique, and a flow control method implemented by the server.
2. Description of the Related Art
The virtualization technique is of significance in the field of the server. Specifically, the virtualization technique that uses virtualization software, such as VMware (Registered Trademark) and Xen (Registered Trademark), enables one physical machine to operate as a plurality of virtual machines (VMs). This achieves an efficient server operation.
The virtualization technique also establishes a virtual switch together with virtual machines within a physical server. The virtual switch, which is a software-based packet switch, relays communications among the virtual machines and between the virtual machines and the exterior, as shown in FIGS. 1A and 1B. Since the virtual switch is positioned adjacent to the virtual machines, the traffic control is easy. Also, since the virtual switch is software-based, the virtual switch is superior in flexibility and extensibility.
Also, an I/O (input/output) virtualization technique such as VT-d/VT-c (Registered Trademark) is known in the art. The I/O virtualization technique enables directly exchanging data between the virtual machines and a network interface card (NIC) without using the virtual switch. Specifically, as shown in FIG. 2, a virtual NIC is established for each virtual machine. Then, the use of the virtual NIC allows completely bypassing the virtual switch. Hereafter, such a process is referred to as “NIC offload”.
The following are known as techniques related to the virtualization.
In Japanese Laid Open Patent Application No. P2007-522583A, an apparatus is disclosed which includes at least one router and a data structure. The data structure is used to create a virtual network by organizing the connections between one or more virtual network interface cards (VNICs) with the router.
Japanese Laid Open Patent Application No. P2008-102929A) discloses a technique that uses a queue data structure to communicate with a network adaptor. A device driver calls a device driver service in order to initially set items of an address translation and protection table (ATPT) inside a route complex with regard to the queue data structure. The device driver service returns a non-conversion address to the device driver, and the non-conversion address is then provided to the network adaptor. In response to a queue element being obtained by searching the queue data structure, the network adaptor requests the conversion of the non-conversion address specified to the queue element, which enables holding a converted address in the network adaptor before the reception of a data packet targeted for a buffer related to the queue element.
Japanese Laid Open Patent Application No. P2009-151745A)) discloses a virtual machine monitor which runs a virtual server on a multi processor system. The virtual machine monitor includes a physical hardware information acquisition section, a receiver section and an assignment processor section. The physical hardware information acquisition section acquires configuration information of hardware that includes physical position information of the hardware including a processor in the multi processor system, a memory and I/O device. The receiver section receives a generation request that includes the number of the processors, a memory quantity, and an assignment policy of I/O devices and resources in virtual servers to be generated. The assignment processor section assigns the I/O devices to the virtual server in accordance with the received generation request, and then assigns the processors and the memory to the virtual server, so as to satisfy the assignment polity.